5 research outputs found

    Equational Formulas and Pattern Operations in Initial Order-Sorted Algebras

    Get PDF
    A pattern, i.e., a term possibly with variables, denotes the set (language) of all its ground instances. In an untyped setting, symbolic operations on finite sets of patterns can represent Boolean operations on languages. But for the more expressive patterns needed in declarative languages supporting rich type disciplines such as subtype polymorphism untyped pattern operations and algorithms break down. We show how they can be properly defined by means of a signature transformation that enriches the types of the original signature. We also show that this transformation allows a systematic reduction of the first-order logic properties of an initial order-sorted algebra supporting subtype-polymorphic functions to equivalent properties of an initial many-sorted (i.e., simply typed) algebra. This yields a new, simple proof of the known decidability of the first-order theory of an initial order-sorted algebra.Partially supported by NSF Grant CNS 13-19109.Ope

    Design, Formal Modeling, and Validation of Cloud Storage Systems using Maude

    Get PDF
    To deal with large amounts of data while offering high availability, throughput and low latency, cloud computing systems rely on distributed, partitioned, and replicated data stores. Such cloud storage systems are complex software artifacts that are very hard to design and analyze. We argue that formal specification and model checking analysis should significantly improve their design and validation. In particular, we propose rewriting logic and its accompanying Maude tools as a suitable framework for formally specifying and analyzing both the correctness and the performance of cloud storage systems. This chapter largely focuses on how we have used rewriting logic to model and analyze industrial cloud storage systems such as Google's Megastore, Apache Cassandra, Apache ZooKeeper, and RAMP. We also touch on the use of formal methods at Amazon Web Services.This work is based on research sponsored by the Air Force Research Laboratory and the Air Force Office of Scientific Research, under agreement number FA8750-11-2-0084. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation thereon. This work is also based on research supported by the National Science Foundation under Grant Nos. NSF CNS 1409416 and NSF CNS 1319527.Ope

    Rewriting-based symbolic methods for distributed system verification

    Get PDF
    As computer system complexity increases, new methods and logics are needed to scale up to the complexity of practical systems without sacrificing logical precision and ease of specification. To that end, the goal of this research project is to develop rewriting-based symbolic analysis methods that (1) can analyze systems which need an unbounded amount of time and/or space (2) may be highly distributed (3) use modular specification techniques so that work is never wasted (4) are generic across a possibly infinite number of domain theories. Towards this goal, we present our research on theory-generic satisfiability and rewrite-theory-generic specification and analysis methods, discuss prototype implementations, and consider future directions

    Rewriting-based symbolic methods for distributed system verification

    No full text
    As computer system complexity increases, new methods and logics are needed to scale up to the complexity of practical systems without sacrificing logical precision and ease of specification. To that end, the goal of this research project is to develop rewriting-based symbolic analysis methods that (1) can analyze systems which need an unbounded amount of time and/or space (2) may be highly distributed (3) use modular specification techniques so that work is never wasted (4) are generic across a possibly infinite number of domain theories. Towards this goal, we present our research on theory-generic satisfiability and rewrite-theory-generic specification and analysis methods, discuss prototype implementations, and consider future directions
    corecore